Skip to content

[6.2][concurrency] Implement protocol witness thunking in SILGen for @execution(caller)/@execution(concurrent).#80748

Merged
gottesmm merged 1 commit intoswiftlang:release/6.2from
gottesmm:release/6.2-148785846
Apr 16, 2025
Merged

[6.2][concurrency] Implement protocol witness thunking in SILGen for @execution(caller)/@execution(concurrent).#80748
gottesmm merged 1 commit intoswiftlang:release/6.2from
gottesmm:release/6.2-148785846

Conversation

@gottesmm
Copy link
Contributor

@gottesmm gottesmm commented Apr 10, 2025

Explanation: This involved cleaning up and generalizing the work from f245389. I followed the same approach: hide the implicit parameter while we run things through translateArgument and friends and then put it back in manually.
Scope: Affects pattern matching
Issue: rdar://148785846
Original PR: #80622
Risk: Low. Very targeted tweak to protocol witness thunking. We avoided changing the large machinery that is used for processing generalized parameters and instead did manual adjustment to insert/remove the value as appropriate.
Testing: Added tests to test suite
Reviewer: @xedin @rjmccall

…ution(caller)/@execution(concurrent).

This involved cleaning up and generalizing the work from
f245389. I followed the same approach: hide the
implicit parameter while we run things through translateArgument and friends and
then put it back in manually.

As an additional benefit, I think I found a good place to put FunctionIsolation
onto lowered AnyFunctionTypes that will not cause cycles in the evaluator since
it is done in TypeLowering.

rdar://148785846
(cherry picked from commit 04b845c)
@gottesmm gottesmm requested a review from a team as a code owner April 10, 2025 22:38
@gottesmm
Copy link
Contributor Author

@swift-ci test

@gottesmm gottesmm changed the title [concurrency] Implement protocol witness thunking in SILGen for @execution(caller)/@execution(concurrent). [6.2][concurrency] Implement protocol witness thunking in SILGen for @execution(caller)/@execution(concurrent). Apr 10, 2025
Copy link
Contributor

@rjmccall rjmccall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like how this works out, thanks!

@gottesmm gottesmm merged commit b7d9f0f into swiftlang:release/6.2 Apr 16, 2025
5 checks passed
@gottesmm gottesmm deleted the release/6.2-148785846 branch April 16, 2025 16:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants